using System;
using System.ComponentModel;
using System.Collections;
using System.Collections.Generic;
using Eco.Services;
using Eco.ObjectRepresentation;
using Eco.ObjectImplementation;
using Eco.UmlRt;
using Eco.UmlCodeAttributes;

namespace Descriptions_DomainModel.Model
{

	[UmlElement("Package", Id="99f496ab-f1b8-425d-9a5a-d23750522147")]
	[EcoCodeGenVersion("3.0")]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.DeviceType))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.DomainModel))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.Function))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.FunctionLibrary))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.Method))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.NamedState))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.Node))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.NodeGroup))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.Parameter))]
	[UmlMetaAttribute("ownedElement", typeof(Descriptions_DomainModel.Model.StateSet))]
	public abstract class Descriptions_DomainModelPackage
	{
		#region Associations
		[UmlElement("Association", Id="{e3733239-9426-4e14-9b94-0cc4dd6eebd6}")]
		public class NodeMethod
		{
		}

		[UmlElement("Association", Id="{a1e94721-e82f-45d4-841a-8014a6a95e70}")]
		public class DomainModelNodeGroup
		{
		}

		[UmlElement("Association", Id="{a295d428-4dd9-4aa4-bf62-d3525f4bd396}")]
		public class NodeGroupNode
		{
		}

		[UmlElement("Association", Id="{69cfa402-d60b-4caa-8bbe-35c7b96a7d6f}")]
		public class DomainModelFunctionLibrary
		{
		}

		[UmlElement("Association", Id="{5c14a53c-27ab-4b72-b80a-3368efe7192f}")]
		public class FunctionLibraryFunction
		{
		}

		[UmlElement("Association", Id="{ae67f557-3400-47ac-9590-b6244aec3c17}")]
		public class NodeFunction
		{
		}

		[UmlElement("Association", Id="{41fda4c0-00ce-4d6e-88bc-3418f274d775}")]
		public class NodeFunction1
		{
		}

		[UmlElement("Association", Id="{caa0c229-b2dc-4723-95d0-c7cd86c0b823}")]
		public class NodeNode
		{
		}

		[UmlElement("Association", Id="{5f55763c-ae04-4107-bc82-d1735069f673}")]
		public class NodeNamedState
		{
		}

		[UmlElement("Association", Id="{3e0ba33a-bb93-4aba-a69b-2f180519cb57}")]
		public class NodeStateSet
		{
		}

		[UmlElement("Association", Id="{a6190414-1d20-4f33-b088-fd6489f059d4}")]
		public class FunctionParameter
		{
		}
		#endregion

		#region Non-navigable association ends
		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.NodeMethod), Index=0)]
		[UmlElement("AssociationEnd", Id="{64112b01-9a01-442a-b096-75f5ed6334a5}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class NodeMethod_Node
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.DomainModelNodeGroup), Index=0)]
		[UmlElement("AssociationEnd", Id="{be066c85-5b8b-4f21-a69a-d627c05818f6}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class DomainModelNodeGroup_DomainModel
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.NodeGroupNode), Index=0)]
		[UmlElement("AssociationEnd", Id="{b1481db5-144d-45ff-8154-de584821c9c7}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class NodeGroupNode_NodeGroup
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.DomainModelFunctionLibrary), Index=0)]
		[UmlElement("AssociationEnd", Id="{4b02e33c-7663-4067-a581-32b5ff33d4db}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class DomainModelFunctionLibrary_DomainModel
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.FunctionLibraryFunction), Index=0)]
		[UmlElement("AssociationEnd", Id="{c0db9807-04da-4951-ab38-37624952e6f5}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class FunctionLibraryFunction_FunctionLibrary
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.NodeFunction), Index=0)]
		[UmlElement("AssociationEnd", Id="{b860b29d-c2ac-4020-bcda-235092ba101b}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class NodeFunction_Node
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.NodeFunction1), Index=0)]
		[UmlElement("AssociationEnd", Id="{1121c612-eb63-4323-ac23-935bd68525dc}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class NodeFunction1_Node
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.NodeNode), Index=0)]
		[UmlElement("AssociationEnd", Id="{0466056d-29e2-44fb-a9c1-64b632881c9e}")]
		[UmlMetaAttribute("multiplicity", "0..1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class NodeNode_Source_Node
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.NodeNamedState), Index=0)]
		[UmlElement("AssociationEnd", Id="{758a92bf-1cab-4895-971d-506c09437884}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class NodeNamedState_Node
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.NodeStateSet), Index=0)]
		[UmlElement("AssociationEnd", Id="{98e8f1e3-f3c0-4d16-a50a-653fc56c9575}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "False")]
		public class NodeStateSet_Node
		{
		}

		[UmlMetaAttribute("association", typeof(Descriptions_DomainModelPackage.FunctionParameter), Index=0)]
		[UmlElement("AssociationEnd", Id="{204a4f0d-a067-4e41-8924-c461da536d93}")]
		[UmlMetaAttribute("multiplicity", "1")]
		[UmlTaggedValue("Eco.Embed", "True")]
		public class FunctionParameter_Function
		{
		}
		#endregion
	}
}
